<?php
namespace app\common\model;
use think\Model;

class Base extends Model
{
    /**
     * 通用指定数据查询
     * @param string $type_id 指定数据类型
     * @param number $id 指定记录
     * @return array $data 返回指定查找数据
     */
    public function get_type_msg($type_id,$id)
    {
        if(!isset($id) || !is_numeric($id)) {
            exception('非法传参');
        }
        $data = [
            $type_id => $id
        ];
        return $this->where($data)->find();
    }

    /**
     * 通用所有数据查询
     * @param string $type_id 指定数据类型
     * @param number $id 指定记录
     * @return array $data 返回所有查找数据
     */
    public function get_type_all_msg($type_id,$id)
    {
        if(!isset($id) || !is_numeric($id)) {
            exception('非法传参');
        }
        $data = [
            $type_id => $id
        ];
        return $this->where($data)->select();
    }

    /**
     * 通用指定数据排序
     * @param $key
     * @param $rule
     * @param int $page
     * @param int $limit
     */
    public function get_order_msg($key,$rule,$page=1,$limit=10)
    {
        $order = [
            $key => $rule
        ];
        return $this->order($order)->page($page,$limit)->select();
    }

    public function save_allow($data)
    {
        if(!is_array($data)) {
            exception('非法传参');
        }
        /*$data = [
            $type_id => $id
        ];*/
        return $this->allowField(true)->save($data);
    }

    public function count_all_num()
    {
        return $this->count();
    }

    /**
     * @param int $key
     * @param string $rule
     * @param int $page
     * @param int $limit
     */
    public function get_page_msg($key,$rule,$page=1,$limit=10)
    {
        $data = [
            $key => $rule
        ];
        return $this->where($data)->page($page,$limit)->select();
    }

    /**
     * 公共类删除数据方法
     * @param string $key 键
     * @param string $value 值
     * @return bool $int 是否删除成功
     */
    public function delete_msg($key,$value)
    {
        if(empty($key)||empty($value)||!isset($value)||!isset($key)) {
            exception('没有传参');
        }
        $data = [
            $key => $value
        ];
        return $this->where($data)->delete();
    }

}